package model

import "github.com/gogf/gf/os/gtime"

type ArticleCategory struct {
	Id        int64       `orm:"id,primary"   json:"id"`        // ID
	Name      string      `orm:"name"         json:"name"`      // 分类名
	Pid       int         `orm:"pid"          json:"pid"`       // 父级id
	Level     int         `orm:"level"        json:"level"`     // 层级
	DeletedAt *gtime.Time `orm:"deleted_at"   json:"deletedAt"` // 删除时间
	CreatedAt *gtime.Time `orm:"created_at"   json:"createdAt"` // 创建时间
	UpdatedAt *gtime.Time `orm:"updated_at"   json:"updatedAt"` // 更新时间
}

type ArticleCategoryGetListOutput struct {
	List []ArticleCategoryGetListOutputItem `json:"list"` // 列表
}

type ArticleCategoryGetListOutputItem struct {
	ArticleCategory ArticleCategory `json:"articleCategory"`
}

type ArticleCategoryApiReq struct {
	Name string `v:"required#分类名不能为空"`
	Pid  int    `v:"required|integer#父类不能为空!|父类分类id必须为整数"`
}

type ArticleCategoryApiSaveReq struct {
	Id   int    `v:"required|integer#文章id不能为空|请输入正确的分类id"`
	Name string `v:"required#分类名不能为空"`
}

type ArticleCategoryApiInfoReq struct {
	Id int `v:"required|integer#文章id不能为空|请输入正确的分类id"`
}

type TreeList struct {
	ID       int        ` json:"id"`
	ParentID int        ` json:"parentID"`
	Name     string     ` json:"label"`
	Level    int        ` json:"Level"`
	Str      string     ` json:"str"`
	Children []TreeList ` json:"children"`
}
